package com.ddm.controller.web;

import com.ddm.dto.page.PageQueryDTO;
import com.ddm.dto.webDTO.MarketSpDTO;
import com.ddm.dto.webDTO.cxClassroomDto;
import com.ddm.entity.webEntity.cxClassroom;
import com.ddm.result.PageResult;
import com.ddm.result.Result;
import com.ddm.vo.webVo.cxClassroomVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ddm.service.webService.cxClassroomService;

/**
 * 沉香小课堂管理接口
 *
 * @author lwj
 * @version 1.0
 */
@RestController
@RequestMapping("Web/CxClassroom")
@Api(tags = "沉香小课堂管理接口")
@Slf4j
public class cxClassroomController {

    @Autowired
    private cxClassroomService cxClassroomService;
    /**
//     * 分页查询沉香小课堂(模糊查询课名，内容，简介）
//     *还没有分配身份权限查询
//     * @return 沉香小课堂列表
//     */
   @GetMapping("/PList")
   @ApiOperation("分页获取用户列表")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    public Result<PageResult> getClassroomList(PageQueryDTO Dto){
       log.info("分页获取用户列表");
       System.out.println(""+Dto);
       return Result.success(cxClassroomService.getCxClassroomList(Dto));
   }
//
//
//
    /**
////     * 根据ID查询沉香小课堂详情
////     *
////     * @param id 课堂ID
////     * @return 课堂详情
////     */
    @GetMapping("/GById")
    @ApiOperation("根据userID查询沉香小课堂详情")
    public Result<cxClassroom> getById(@RequestParam Long id) {
        log.info("查询沉香小课堂详情，ID：{}", id);
        cxClassroom classroom = cxClassroomService.getById(id);
        return Result.success(classroom);
    }

    /**
     * 新增沉香小课堂
     *半成品
     * @param classroom 课堂信息
     * @return 操作结果
     */
    @PostMapping("/add")
    @ApiOperation("新增沉香小课堂")
    public Result<String> add(@RequestBody cxClassroomDto classroom) {
        log.info("新增沉香小课堂，标题：{}", classroom.getName());

        boolean success = cxClassroomService.addClassroom(classroom);
        if (success) {

            return  Result.success("添加成功");
        }else {
            return Result.error("新增失败");
        }

    }
//
//
//
//    @DeleteMapping
//    @ApiOperation("批量删除用户")
//    public Result deleteCxClassroomList(@RequestBody List<cxClassroomDto> DTOS ){
//        log.info("批量删除用户");
//        if (DTOS == null){
//            throw new DataErrorException(MessageConstant.NULL_DATA);
//        }
//        cxClassroomService.deleteClassroomList(DTOS);
//
//        return Result.success("删除成功");
//    }
//
//    /**
//     * 根据发布者查询沉香小课堂
//     *半成品
//     * @param publisher 发布者名称
//     * @return 课堂列表
//     */
//    @GetMapping("/by-publisher")
//    @ApiOperation("根据发布者查询沉香小课堂")
//    public Result<List<cxClassroom>> getByPublisher(
//            @RequestParam
//            @ApiParam(value = "发布者名称", required = true, example = "官方") String publisher) {
//        log.info("根据发布者查询沉香小课堂，发布者：{}", publisher);
//        QueryWrapper<cxClassroom> wrapper = new QueryWrapper<>();
//        wrapper.eq("publisher", publisher);
//        List<cxClassroom> list = cxClassroomService.list(wrapper);
//        return Result.success(list);
//    }
//    // 修改
//    //半成品
    @PutMapping("/update")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    public Result<String> update(@RequestBody cxClassroomDto classroomDTO) {


        if(cxClassroomService.updateClassroom(classroomDTO)){
            return  Result.success("修改成功");
        }else {
            return Result.error("修改失败");
        }
    }
    /**
     * 删除供求信息
     * @param  id
     * @return 删除结果
     */
    @DeleteMapping("/delete")
    @ApiOperation("删除供求信息")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    public Result<Boolean> delete(long id) {

        log.info("删除供求信息: {}", id);

        return Result.success(cxClassroomService.deleteClassroom(id));

    }
}